En este libro se implementara el analisis de datos que permitira identificar los estudiantes con altas probabilidades de fracaso en la asignatura de matematicas utilizando herramienta de machine learning
# Libreria para importar las funciones que facilitan la creacion del modelo usando clasificación
import turicreate as tr
Se realiza el cargue de la informacion del documento DataEstudiantes
# Se determina el archivo a trabajar y se carga en una variable
# ruta = 'DataEstudiantes.csv'
ruta = 'https://drive.google.com/uc?id=12y4Yirhk1B-Cy6jMTeMPa1SHHdxAuhFm&export=download&authuser=0'
students=tr.SFrame.read_csv(ruta, '&')
Finished parsing file https://drive.google.com/uc?id=12y4Yirhk1B-Cy6jMTeMPa1SHHdxAuhFm&export=download&authuser=0
Parsing completed. Parsed 100 lines in 0.043787 secs.
------------------------------------------------------ Inferred types from first 100 line(s) of file as column_type_hints=[str,str,str,int,str,int,int,float,int,float,float,float,float,float,float,float,float,float,float,float,float,float,float,str,str,str,str] If parsing fails due to incorrect types, you can correct the inferred type list above and pass it to read_csv in the column_type_hints argument ------------------------------------------------------
Finished parsing file https://drive.google.com/uc?id=12y4Yirhk1B-Cy6jMTeMPa1SHHdxAuhFm&export=download&authuser=0
Parsing completed. Parsed 214 lines in 0.045633 secs.
Se visualizan las columnas de los datos que tiene la sábana de notas
# El nombre de las columnas cargadas en la variable head
students.head()
| ESTUDIANTE | R | S | CURSO | J10 | Estrato | AÑO | ECONOMIA | FÍSICA | QUÍMICA | SOCIALES |
|---|---|---|---|---|---|---|---|---|---|---|
| AGREDO TORRES KAROL MELISA ... |
N | F | 1001 | M | 2 | 2016 | 69.7 | 73 | 60.66666667 | 72.0 |
| ARIZA MARTINEZ CAMPVERLLY SAMANTHA ... |
N | F | 1001 | M | 2 | 2016 | 68.7 | 68 | 65.33333333 | 72.66666667 |
| CAÑON SUAREZ JESSICA VIVIANA ... |
N | F | 1001 | M | 2 | 2016 | 42.7 | 45 | 35.0 | 36.66666667 |
| CASALLAS HUERFANO LINA MARIA ... |
N | F | 1001 | M | 2 | 2016 | 74.7 | 63 | 62.66666667 | 73.33333333 |
| CHUNZA GOMEZ LIZETH ANDREA ... |
N | F | 1001 | M | 2 | 2016 | 65.0 | 53 | 49.66666667 | 70.66666667 |
| FARFAN PULIDO ANDRES FELIPE ... |
N | M | 1001 | M | 2 | 2016 | 43.3 | 43 | 33.33333333 | 23.33333333 |
| GALINDO MORENO MARILYN DANIELA ... |
N | F | 1001 | M | 2 | 2016 | 60.7 | 60 | 57.33333333 | 64.66666667 |
| GAVIRIA HERRERA SANTIAGO | N | M | 1001 | M | 2 | 2016 | 62.3 | 52 | 40.33333333 | 59.0 |
| GOMEZ ROMERO JONATHAN | N | M | 1001 | M | 2 | 2016 | 63.0 | 55 | 51.33333333 | 63.33333333 |
| GONZALEZ RODRIGUEZ HENRY JOEL ... |
N | M | 1001 | M | 2 | 2016 | 61.7 | 54 | 54.0 | 56.66666667 |
| EDUCACION ARTISTICA | RECREACIÓN Y DEPORTES | RELIGION | ETICA | FILOSOFIA | INGLES | LENGUA CASTELLANA |
|---|---|---|---|---|---|---|
| 78.33333333 | 62.33333333 | 68.33333333 | 74.66666667 | 80.33333333 | 65.66666667 | 71.66666667 |
| 79.33333333 | 71.66666667 | 69.33333333 | 73.66666667 | 62.33333333 | 60.0 | 74.0 |
| 40.0 | 53.0 | 46.33333333 | 41.66666667 | 30.0 | 42.33333333 | 31.66666667 |
| 78.33333333 | 67.66666667 | 76.0 | 75.33333333 | 71.0 | 69.0 | 72.33333333 |
| 57.0 | 52.66666667 | 66.66666667 | 70.33333333 | 61.0 | 58.66666667 | 64.66666667 |
| 56.0 | 47.66666667 | 48.66666667 | 23.33333333 | 38.33333333 | 42.0 | 36.66666667 |
| 81.66666667 | 51.0 | 68.0 | 69.66666667 | 61.66666667 | 59.0 | 63.33333333 |
| 67.33333333 | 48.33333333 | 56.33333333 | 56.66666667 | 60.0 | 53.33333333 | 68.66666667 |
| 61.0 | 66.66666667 | 60.33333333 | 73.33333333 | 60.0 | 61.0 | 56.66666667 |
| 67.0 | 66.0 | 64.33333333 | 57.0 | 64.0 | 60.66666667 | 58.33333333 |
| TRIGONOMETRIA | ADMINISTRACION | MANEJO ORDENADORES | PREPARACIÓN TECNOLÓGICA | CALCULO | CONVENCIONES MINISTERIO |
|---|---|---|---|---|---|
| 71.33333333 | 78.0 | 79.0 | 70.33333333 | 75.66666667 | BASICO |
| 65.33333333 | 62.33333333 | 85.66666667 | 68.66666667 | 69.33333333 | BASICO |
| 36.66666667 | 43.66666667 | 48.33333333 | 35.66666667 | -1.0 | BAJO |
| 67.33333333 | 77.66666667 | 79.0 | 71.33333333 | 77.0 | BASICO |
| 54.0 | 66.66666667 | 78.0 | 67.33333333 | 70.33333333 | BASICO |
| 24.33333333 | 26.66666667 | 60.66666667 | 16.66666667 | -1.0 | BAJO |
| 68.33333333 | 66.0 | 74.33333333 | 60.66666667 | 73.66666667 | BASICO |
| 54.33333333 | 65.66666667 | 63.0 | 51.0 | -1.0 | BAJO |
| 66.0 | 49.33333333 | 76.66666667 | 65.0 | 64.0 | BASICO |
| 60.0 | 66.0 | 68.66666667 | 62.33333333 | -1.0 | BAJO |
| C11 | J11 | A11 |
|---|---|---|
| 1101 | M | 2017 |
| 1101 | M | 2017 |
| None | None | None |
| 1101 | M | 2017 |
| 1101 | M | 2017 |
| None | None | None |
| 1101 | M | 2017 |
| None | None | None |
| 1102 | M | 2017 |
| None | None | None |
students['CALCULO']
dtype: float Rows: 214 [75.66666667, 69.33333333, -1.0, 77.0, 70.33333333, -1.0, 73.66666667, -1.0, 64.0, -1.0, -1.0, 75.0, 74.33333333, -1.0, 70.3, 72.0, -1.0, 64.66666667, 66.0, 73.33333333, 72.0, 76.66666667, 70.0, 77.0, 69.33333333, 73.33333333, -1.0, 54.3, 54.3, 54.3, 54.3, -1.0, 79.33333333, 82.66666667, 68.0, -1.0, 61.33333333, 86.0, 73.33333333, 78.66666667, 71.33333333, 78.33333333, 92.0, 51.0, 66.66666667, 62.33333333, 74.66666667, 77.66666667, 77.66666667, 87.66666667, 65.66666667, 60.66666667, -1.0, 88.0, 85.66666667, 76.0, -1.0, 64.66666667, 54.3, 54.3, 54.3, 54.3, 54.3, 54.3, -1.0, 87.66666667, 67.66666667, 40.0, 67.0, 79.0, 62.0, 86.33333333, 72.0, 84.3, 65.33333333, 87.33333333, 75.0, 63.0, 65.0, 58.66666667, 78.0, 74.3, 71.66666667, 64.0, 61.0, 74.0, 67.7, 64.66666667, 69.66666667, 54.3, 54.3, 54.3, 54.3, 54.3, 54.3, 65.33333333, -1.0, 78.66666667, -1.0, 70.0, ... ]
Se define el tipo de datos para la columna de calculo y se determina la cantidad de datos a trabajar
# Identidica el tipo de dato que tiene la columna
students['CALCULO'].dtype
# Se convierte la columna de string a float para facilitar su manipulación
students['CALCULO'] = students['CALCULO'].astype(float)
# Se define que los valores menores 60 el estudiante pierde la nota mayor de 60 la pasa para matematicas
students['logic_math'] = students['CALCULO'] <= 60
# Mostrar los Resultados
students['logic_math']
dtype: int Rows: 214 [0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, ... ]
Se establecen los datos de entrenamiento de y de prueba para usarlos en el modelo de regresion logistica
# Se crean la variables que tendran los datos de entrenamiento y los datos de prueba
train_data,test_data = students.random_split(.8,seed=0)
# Se establece el modelo de regresion logistica
student_model = tr.logistic_classifier.create(train_data,
target='logic_math',
features=['CALCULO'],
validation_set=test_data)
Logistic regression:
--------------------------------------------------------
Number of examples : 181
Number of classes : 2
Number of feature columns : 1
Number of unpacked features : 1
Number of coefficients : 2
Starting Newton Method
--------------------------------------------------------
+-----------+----------+--------------+-------------------+---------------------+
| Iteration | Passes | Elapsed Time | Training Accuracy | Validation Accuracy |
+-----------+----------+--------------+-------------------+---------------------+
| 1 | 2 | 0.000436 | 0.773481 | 0.878788 |
| 2 | 3 | 0.001410 | 0.977901 | 1.000000 |
| 3 | 4 | 0.001914 | 0.994475 | 1.000000 |
| 4 | 5 | 0.002573 | 1.000000 | 1.000000 |
| 5 | 6 | 0.003101 | 0.994475 | 1.000000 |
| 7 | 8 | 0.004689 | 0.994475 | 1.000000 |
+-----------+----------+--------------+-------------------+---------------------+
SUCCESS: Optimal solution found.
Se realizar la evaluacion del modelo creado
# Se evalua el desempeño del modelo
student_model.evaluate(test_data, metric='roc_curve')
{'roc_curve': Columns:
threshold float
fpr float
tpr float
p int
n int
Rows: 100001
Data:
+-----------+------+-----+---+----+
| threshold | fpr | tpr | p | n |
+-----------+------+-----+---+----+
| 0.0 | 1.0 | 1.0 | 8 | 25 |
| 1e-05 | 1.0 | 1.0 | 8 | 25 |
| 2e-05 | 0.96 | 1.0 | 8 | 25 |
| 3e-05 | 0.96 | 1.0 | 8 | 25 |
| 4e-05 | 0.92 | 1.0 | 8 | 25 |
| 5e-05 | 0.92 | 1.0 | 8 | 25 |
| 6e-05 | 0.92 | 1.0 | 8 | 25 |
| 7e-05 | 0.92 | 1.0 | 8 | 25 |
| 8e-05 | 0.92 | 1.0 | 8 | 25 |
| 9e-05 | 0.92 | 1.0 | 8 | 25 |
+-----------+------+-----+---+----+
[100001 rows x 5 columns]
Note: Only the head of the SFrame is printed.
You can use print_rows(num_rows=m, num_columns=n) to print more rows and columns.}
Se crea una columna donde se establecen los datos de predichos de los estudiantes
students['predicted_students'] = student_model.predict(students, output_type = 'probability')
students
| ESTUDIANTE | R | S | CURSO | J10 | Estrato | AÑO | ECONOMIA | FÍSICA | QUÍMICA | SOCIALES |
|---|---|---|---|---|---|---|---|---|---|---|
| AGREDO TORRES KAROL MELISA ... |
N | F | 1001 | M | 2 | 2016 | 69.7 | 73 | 60.66666667 | 72.0 |
| ARIZA MARTINEZ CAMPVERLLY SAMANTHA ... |
N | F | 1001 | M | 2 | 2016 | 68.7 | 68 | 65.33333333 | 72.66666667 |
| CAÑON SUAREZ JESSICA VIVIANA ... |
N | F | 1001 | M | 2 | 2016 | 42.7 | 45 | 35.0 | 36.66666667 |
| CASALLAS HUERFANO LINA MARIA ... |
N | F | 1001 | M | 2 | 2016 | 74.7 | 63 | 62.66666667 | 73.33333333 |
| CHUNZA GOMEZ LIZETH ANDREA ... |
N | F | 1001 | M | 2 | 2016 | 65.0 | 53 | 49.66666667 | 70.66666667 |
| FARFAN PULIDO ANDRES FELIPE ... |
N | M | 1001 | M | 2 | 2016 | 43.3 | 43 | 33.33333333 | 23.33333333 |
| GALINDO MORENO MARILYN DANIELA ... |
N | F | 1001 | M | 2 | 2016 | 60.7 | 60 | 57.33333333 | 64.66666667 |
| GAVIRIA HERRERA SANTIAGO | N | M | 1001 | M | 2 | 2016 | 62.3 | 52 | 40.33333333 | 59.0 |
| GOMEZ ROMERO JONATHAN | N | M | 1001 | M | 2 | 2016 | 63.0 | 55 | 51.33333333 | 63.33333333 |
| GONZALEZ RODRIGUEZ HENRY JOEL ... |
N | M | 1001 | M | 2 | 2016 | 61.7 | 54 | 54.0 | 56.66666667 |
| EDUCACION ARTISTICA | RECREACIÓN Y DEPORTES | RELIGION | ETICA | FILOSOFIA | INGLES | LENGUA CASTELLANA |
|---|---|---|---|---|---|---|
| 78.33333333 | 62.33333333 | 68.33333333 | 74.66666667 | 80.33333333 | 65.66666667 | 71.66666667 |
| 79.33333333 | 71.66666667 | 69.33333333 | 73.66666667 | 62.33333333 | 60.0 | 74.0 |
| 40.0 | 53.0 | 46.33333333 | 41.66666667 | 30.0 | 42.33333333 | 31.66666667 |
| 78.33333333 | 67.66666667 | 76.0 | 75.33333333 | 71.0 | 69.0 | 72.33333333 |
| 57.0 | 52.66666667 | 66.66666667 | 70.33333333 | 61.0 | 58.66666667 | 64.66666667 |
| 56.0 | 47.66666667 | 48.66666667 | 23.33333333 | 38.33333333 | 42.0 | 36.66666667 |
| 81.66666667 | 51.0 | 68.0 | 69.66666667 | 61.66666667 | 59.0 | 63.33333333 |
| 67.33333333 | 48.33333333 | 56.33333333 | 56.66666667 | 60.0 | 53.33333333 | 68.66666667 |
| 61.0 | 66.66666667 | 60.33333333 | 73.33333333 | 60.0 | 61.0 | 56.66666667 |
| 67.0 | 66.0 | 64.33333333 | 57.0 | 64.0 | 60.66666667 | 58.33333333 |
| TRIGONOMETRIA | ADMINISTRACION | MANEJO ORDENADORES | PREPARACIÓN TECNOLÓGICA | CALCULO | CONVENCIONES MINISTERIO |
|---|---|---|---|---|---|
| 71.33333333 | 78.0 | 79.0 | 70.33333333 | 75.66666667 | BASICO |
| 65.33333333 | 62.33333333 | 85.66666667 | 68.66666667 | 69.33333333 | BASICO |
| 36.66666667 | 43.66666667 | 48.33333333 | 35.66666667 | -1.0 | BAJO |
| 67.33333333 | 77.66666667 | 79.0 | 71.33333333 | 77.0 | BASICO |
| 54.0 | 66.66666667 | 78.0 | 67.33333333 | 70.33333333 | BASICO |
| 24.33333333 | 26.66666667 | 60.66666667 | 16.66666667 | -1.0 | BAJO |
| 68.33333333 | 66.0 | 74.33333333 | 60.66666667 | 73.66666667 | BASICO |
| 54.33333333 | 65.66666667 | 63.0 | 51.0 | -1.0 | BAJO |
| 66.0 | 49.33333333 | 76.66666667 | 65.0 | 64.0 | BASICO |
| 60.0 | 66.0 | 68.66666667 | 62.33333333 | -1.0 | BAJO |
| C11 | J11 | A11 | logic_math | predicted_students |
|---|---|---|---|---|
| 1101 | M | 2017 | 0 | 0.0008594193333371009 |
| 1101 | M | 2017 | 0 | 0.013902055916266066 |
| None | None | None | 1 | 0.9999999999976954 |
| 1101 | M | 2017 | 0 | 0.00047716666114851864 |
| 1101 | M | 2017 | 0 | 0.008983877801572069 |
| None | None | None | 1 | 0.9999999999976954 |
| 1101 | M | 2017 | 0 | 0.00207600172656795 |
| None | None | None | 1 | 0.9999999999976954 |
| 1102 | M | 2017 | 0 | 0.12936056544712063 |
| None | None | None | 1 | 0.9999999999976954 |
students_reviews = students[students['S']== 'F']
students_reviews
| ESTUDIANTE | R | S | CURSO | J10 | Estrato | AÑO | ECONOMIA | FÍSICA | QUÍMICA | SOCIALES |
|---|---|---|---|---|---|---|---|---|---|---|
| AGREDO TORRES KAROL MELISA ... |
N | F | 1001 | M | 2 | 2016 | 69.7 | 73 | 60.66666667 | 72.0 |
| ARIZA MARTINEZ CAMPVERLLY SAMANTHA ... |
N | F | 1001 | M | 2 | 2016 | 68.7 | 68 | 65.33333333 | 72.66666667 |
| CAÑON SUAREZ JESSICA VIVIANA ... |
N | F | 1001 | M | 2 | 2016 | 42.7 | 45 | 35.0 | 36.66666667 |
| CASALLAS HUERFANO LINA MARIA ... |
N | F | 1001 | M | 2 | 2016 | 74.7 | 63 | 62.66666667 | 73.33333333 |
| CHUNZA GOMEZ LIZETH ANDREA ... |
N | F | 1001 | M | 2 | 2016 | 65.0 | 53 | 49.66666667 | 70.66666667 |
| GALINDO MORENO MARILYN DANIELA ... |
N | F | 1001 | M | 2 | 2016 | 60.7 | 60 | 57.33333333 | 64.66666667 |
| LUIS LEGUIZAMON DAYANA SOFIA ... |
N | F | 1001 | M | 2 | 2016 | 76.3 | 66 | 63.33333333 | 81.5 |
| MARTINEZ DUARTE CAMILA FERNANDA ... |
N | F | 1001 | M | 2 | 2016 | 69.0 | 68 | 71.0 | 76.33333333 |
| MARTINEZ LOAIZA JESSICA ALEJANDRA ... |
N | F | 1001 | M | 2 | 2016 | 59.7 | 64 | 48.66666667 | 58.66666667 |
| MEDINA PINTO SARY ALEJANDRA ... |
N | F | 1001 | M | 2 | 2016 | 62.3 | 64 | 60.66666667 | 58.66666667 |
| EDUCACION ARTISTICA | RECREACIÓN Y DEPORTES | RELIGION | ETICA | FILOSOFIA | INGLES | LENGUA CASTELLANA |
|---|---|---|---|---|---|---|
| 78.33333333 | 62.33333333 | 68.33333333 | 74.66666667 | 80.33333333 | 65.66666667 | 71.66666667 |
| 79.33333333 | 71.66666667 | 69.33333333 | 73.66666667 | 62.33333333 | 60.0 | 74.0 |
| 40.0 | 53.0 | 46.33333333 | 41.66666667 | 30.0 | 42.33333333 | 31.66666667 |
| 78.33333333 | 67.66666667 | 76.0 | 75.33333333 | 71.0 | 69.0 | 72.33333333 |
| 57.0 | 52.66666667 | 66.66666667 | 70.33333333 | 61.0 | 58.66666667 | 64.66666667 |
| 81.66666667 | 51.0 | 68.0 | 69.66666667 | 61.66666667 | 59.0 | 63.33333333 |
| 74.0 | 66.33333333 | 72.33333333 | 76.0 | 82.0 | 72.66666667 | 82.0 |
| 69.66666667 | 70.33333333 | 78.66666667 | 77.0 | 85.33333333 | 72.0 | 76.0 |
| 68.33333333 | 65.33333333 | 74.0 | 65.33333333 | 60.0 | 63.0 | 65.33333333 |
| 70.0 | 60.33333333 | 60.0 | 58.66666667 | 66.0 | 73.66666667 | 63.66666667 |
| TRIGONOMETRIA | ADMINISTRACION | MANEJO ORDENADORES | PREPARACIÓN TECNOLÓGICA | CALCULO | CONVENCIONES MINISTERIO |
|---|---|---|---|---|---|
| 71.33333333 | 78.0 | 79.0 | 70.33333333 | 75.66666667 | BASICO |
| 65.33333333 | 62.33333333 | 85.66666667 | 68.66666667 | 69.33333333 | BASICO |
| 36.66666667 | 43.66666667 | 48.33333333 | 35.66666667 | -1.0 | BAJO |
| 67.33333333 | 77.66666667 | 79.0 | 71.33333333 | 77.0 | BASICO |
| 54.0 | 66.66666667 | 78.0 | 67.33333333 | 70.33333333 | BASICO |
| 68.33333333 | 66.0 | 74.33333333 | 60.66666667 | 73.66666667 | BASICO |
| 71.0 | 74.0 | 92.0 | 72.66666667 | 75.0 | BASICO |
| 73.66666667 | 72.66666667 | 82.66666667 | 71.0 | -1.0 | BAJO |
| 66.66666667 | 70.66666667 | 81.0 | 75.0 | 72.0 | BASICO |
| 71.33333333 | 69.0 | 83.66666667 | 84.33333333 | -1.0 | BAJO |
| C11 | J11 | A11 | logic_math | predicted_students |
|---|---|---|---|---|
| 1101 | M | 2017 | 0 | 0.0008594193333371009 |
| 1101 | M | 2017 | 0 | 0.013902055916266066 |
| None | None | None | 1 | 0.9999999999976954 |
| 1101 | M | 2017 | 0 | 0.00047716666114851864 |
| 1101 | M | 2017 | 0 | 0.008983877801572069 |
| 1101 | M | 2017 | 0 | 0.00207600172656795 |
| 1101 | M | 2017 | 0 | 0.0011532619180817032 |
| None | None | None | 1 | 0.9999999999976954 |
| 1101 | M | 2017 | 0 | 0.004323891287538867 |
| None | None | None | 1 | 0.9999999999976954 |
Se ordenan los datos para facilitar su visualización
students_reviews = students_reviews.sort('predicted_students', ascending=False)
students_reviews['predicted_students']
dtype: float Rows: 116 [0.9999999999976954, 0.9999999999976954, 0.9999999999976954, 0.9999999999976954, 0.9999999999976954, 0.9999999999976954, 0.9999999999976954, 0.9999999999976954, 0.9999999999976954, 0.9999999999976954, 0.9999999999976954, 0.9150335288960079, 0.9150335288960079, 0.9150335288960079, 0.9150335288960079, 0.9150335288960079, 0.9150335288960079, 0.9150335288960079, 0.9150335288960079, 0.9150335288960079, 0.9150335288960079, 0.9150335288960079, 0.9150335288960079, 0.9150335288960079, 0.9150335288960079, 0.9150335288960079, 0.9150335288960079, 0.9150335288960079, 0.9150335288960079, 0.9150335288960079, 0.9150335288960079, 0.9150335288960079, 0.9150335288960079, 0.9150335288960079, 0.9150335288960079, 0.9150335288960079, 0.9150335288960079, 0.9150335288960079, 0.9150335288960079, 0.9150335288960079, 0.6776203092231332, 0.4649815813410904, 0.3930069114067918, 0.3286366658829335, 0.3253972994281613, 0.26435323232706737, 0.23673620018266578, 0.1876970556287616, 0.1876970556287616, 0.14502696179136373, 0.12936056544712063, 0.12936056544712063, 0.09965972287069574, 0.09834675162201748, 0.043764901351169797, 0.03344489579248053, 0.028182379146935152, 0.028182379146935152, 0.028182379146935152, 0.024772290156680934, 0.021765583056233676, 0.021765583056233676, 0.021765583056233676, 0.01830598763459913, 0.01830598763459913, 0.016071186568469967, 0.013902055916266066, 0.012022115947451966, 0.010393716029159982, 0.010393716029159982, 0.010393716029159982, 0.008983877801572069, 0.008983877801572069, 0.005795394780615419, 0.005006132847925033, 0.004323891287538867, 0.004323891287538867, 0.004323891287538867, 0.004323891287538867, 0.002784644607043176, 0.002404418434314465, 0.002404418434314465, 0.00207600172656795, 0.0017923624858579225, 0.0017923624858579225, 0.0015703254850705833, 0.0015703254850705833, 0.0015474161168096251, 0.0013358996021753738, 0.0011532619180817032, 0.0011532619180817032, 0.0011532619180817032, 0.0008594193333371009, 0.0008594193333371009, 0.0006498874369061764, 0.0006498874369061764, 0.0006498874369061764, 0.00047716666114851864, 0.00047716666114851864, 0.00035552681909932683, ... ]
students_reviews['predicted_students'].tail()
dtype: float Rows: 10 [0.00017286927437613268, 0.00012690965662497222, 3.9095836660137104e-05, 1.0394782159676297e-05, 8.9720301387078e-06, 7.744011168062518e-06, 4.297999072149885e-06, 3.7097213236289467e-06, 6.342188947645615e-07, 4.078152044272551e-07]
# Estudiante con mas probabilidades de Perder Calculo
students_reviews[0]
{'ESTUDIANTE': 'CAÑON SUAREZ JESSICA VIVIANA',
'R': 'N',
'S': 'F',
'CURSO': 1001,
'J10': 'M',
'Estrato': 2,
'AÑO': 2016,
'ECONOMIA': 42.7,
'FÍSICA': 45,
'QUÍMICA': 35.0,
'SOCIALES': 36.66666667,
'EDUCACION ARTISTICA': 40.0,
'RECREACIÓN Y DEPORTES': 53.0,
'RELIGION': 46.33333333,
'ETICA': 41.66666667,
'FILOSOFIA': 30.0,
'INGLES': 42.33333333,
'LENGUA CASTELLANA': 31.66666667,
'TRIGONOMETRIA': 36.66666667,
'ADMINISTRACION': 43.66666667,
'MANEJO ORDENADORES': 48.33333333,
'PREPARACIÓN TECNOLÓGICA': 35.66666667,
'CALCULO': -1.0,
'CONVENCIONES MINISTERIO': 'BAJO',
'C11': 'None',
'J11': 'None',
'A11': 'None',
'logic_math': 1,
'predicted_students': 0.9999999999976954}
# Estudiante con mas probabilidades de Pasar Calculo
students_reviews[-1]
{'ESTUDIANTE': 'LIZARAZO PINZON DEVI STHEFANY',
'R': 'N',
'S': 'F',
'CURSO': 1003,
'J10': 'M',
'Estrato': 2,
'AÑO': 2017,
'ECONOMIA': 63.7,
'FÍSICA': 71,
'QUÍMICA': 70.0,
'SOCIALES': 77.7,
'EDUCACION ARTISTICA': 85.0,
'RECREACIÓN Y DEPORTES': 72.0,
'RELIGION': 65.7,
'ETICA': 79.0,
'FILOSOFIA': 73.0,
'INGLES': 69.0,
'LENGUA CASTELLANA': 75.0,
'TRIGONOMETRIA': 88.0,
'ADMINISTRACION': 0.0,
'MANEJO ORDENADORES': 96.0,
'PREPARACIÓN TECNOLÓGICA': 82.0,
'CALCULO': 93.0,
'CONVENCIONES MINISTERIO': 'SUPERIOR',
'C11': '1103',
'J11': 'M',
'A11': '2018',
'logic_math': 0,
'predicted_students': 4.078152044272551e-07}
students.dtype
dtype: int Rows: 214 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, ... ]
# Se crean la variables de entrenamiento y los datos de prueba
train_data,test_data = students.random_split(.8,seed=0)
# Se establece el modelo de regresion logistica
student_model = tr.logistic_classifier.create(train_data,
target='logic_math',
features=['CALCULO'],
validation_set=test_data)
Logistic regression:
--------------------------------------------------------
Number of examples : 181
Number of classes : 2
Number of feature columns : 1
Number of unpacked features : 1
Number of coefficients : 2
Starting Newton Method
--------------------------------------------------------
+-----------+----------+--------------+-------------------+---------------------+
| Iteration | Passes | Elapsed Time | Training Accuracy | Validation Accuracy |
+-----------+----------+--------------+-------------------+---------------------+
| 1 | 2 | 0.002493 | 0.994475 | 1.000000 |
| 2 | 3 | 0.004386 | 0.994475 | 1.000000 |
| 3 | 4 | 0.005078 | 0.994475 | 1.000000 |
| 4 | 5 | 0.005737 | 0.994475 | 1.000000 |
| 5 | 6 | 0.006444 | 0.994475 | 1.000000 |
| 6 | 7 | 0.007147 | 0.994475 | 1.000000 |
+-----------+----------+--------------+-------------------+---------------------+
SUCCESS: Optimal solution found.
student_model.evaluate(test_data, metric='roc_curve')
{'roc_curve': Columns:
threshold float
fpr float
tpr float
p int
n int
Rows: 100001
Data:
+-----------+--------------------+-----+----+----+
| threshold | fpr | tpr | p | n |
+-----------+--------------------+-----+----+----+
| 0.0 | 1.0 | 1.0 | 11 | 22 |
| 1e-05 | 0.9545454545454546 | 1.0 | 11 | 22 |
| 2e-05 | 0.9545454545454546 | 1.0 | 11 | 22 |
| 3e-05 | 0.8636363636363636 | 1.0 | 11 | 22 |
| 4e-05 | 0.8636363636363636 | 1.0 | 11 | 22 |
| 5e-05 | 0.8636363636363636 | 1.0 | 11 | 22 |
| 6e-05 | 0.8636363636363636 | 1.0 | 11 | 22 |
| 7e-05 | 0.8181818181818182 | 1.0 | 11 | 22 |
| 8e-05 | 0.8181818181818182 | 1.0 | 11 | 22 |
| 9e-05 | 0.8181818181818182 | 1.0 | 11 | 22 |
+-----------+--------------------+-----+----+----+
[100001 rows x 5 columns]
Note: Only the head of the SFrame is printed.
You can use print_rows(num_rows=m, num_columns=n) to print more rows and columns.}
students['predicted_students'] = student_model.predict(students, output_type = 'probability')
students
| ESTUDIANTE | R | S | CURSO | AÑO | ECONOMIA | FÍSICA | QUÍMICA | SOCIALES | EDUCACION ARTISTICA |
|---|---|---|---|---|---|---|---|---|---|
| AGREDO TORRES KAROL MELISA ... |
N | F | 1001 | 2016 | 69.7 | 73 | 60.66666667 | 72.0 | 78.33333333 |
| AGUILERA GUERRERO JOSTEIN STEVEN ... |
N | M | 1003 | 2016 | 73.7 | 75 | 70.0 | 69.0 | 75.0 |
| ALBARRACIN RODRIGUEZ JESID ALEXANDER ... |
N | M | 1002 | 2017 | 70.7 | 71 | 76.0 | 79.3 | 85.0 |
| ALBARRACIN RODRIGUEZ JOSET DAVID ... |
N | M | 1002 | 2017 | 73.3 | 82 | 79.0 | 78.7 | 88.3 |
| ALTUZARRA CASTILLO ANGIE KATHERIN ... |
N | F | 1001 | 2017 | 67.3 | 78 | 70.0 | 86.3 | 66.7 |
| AMADO PARDO DUVAN CAMILO | N | M | 1002 | 2016 | 70.3 | 74 | 79.0 | 75.0 | 78.0 |
| AMAYA VELASQUEZ MIGUEL ANGEL ... |
N | M | 1003 | 2017 | 63.7 | 67 | 63.0 | 75.3 | 73.3 |
| ANGARITA BELTRAN PAULA ANDREA ... |
N | F | 1001 | 2017 | 64.7 | 64 | 44.0 | 54.7 | 67.7 |
| AREVALO RODRIGUEZ ASLY NATALY ... |
N | F | 1002 | 2016 | 73.0 | 73 | 83.0 | 73.0 | 83.3 |
| AREVALO YAMA STIVEN ANDRES ... |
N | M | 1003 | 2017 | 60.0 | 61 | 52.0 | 68.0 | 55.0 |
| RECREACIÓN Y DEPORTES | RELIGION | ETICA | FILOSOFIA | INGLES | LENGUA CASTELLANA | TRIGONOMETRIA |
|---|---|---|---|---|---|---|
| 62.33333333 | 68.33333333 | 74.66666667 | 80.33333333 | 65.66666667 | 71.66666667 | 71.33333333 |
| 65.3 | 81.7 | 78.7 | 91.0 | 74.0 | 84.0 | 76.0 |
| 74.7 | 91.3 | 87.3 | 83.3 | 78.0 | 81.0 | 91.0 |
| 76.7 | 95.3 | 83.7 | 83.3 | 82.0 | 95.0 | 93.3 |
| 69.7 | 93.7 | 83.7 | 80.0 | 77.0 | 88.0 | 76.7 |
| 68.0 | 73.3 | 76.0 | 70.3 | 71.0 | 82.0 | 61.3 |
| 68.0 | 60.0 | 76.3 | 95.0 | 64.0 | 71.0 | 77.3 |
| 63.0 | 33.3 | 56.7 | 64.0 | 58.0 | 70.0 | 59.0 |
| 70.0 | 81.0 | 80.0 | 85.7 | 81.0 | 82.0 | 67.0 |
| 66.7 | 70.3 | 69.0 | 61.3 | 60.0 | 60.0 | 65.3 |
| ADMINISTRACION | MANEJO ORDENADORES | PREPARACIÓN TECNOLÓGICA | CALCULO | C11 | A11 | JORNADA | ESTRATO | logic_math |
|---|---|---|---|---|---|---|---|---|
| 78.0 | 79.0 | 70.33333333 | 75.6667 | 1101 | 2017 | MAÑANA | 2 | 0 |
| 72.0 | 95.0 | 88.0 | 87.6667 | 1103 | 2017 | MAÑANA | 2 | 0 |
| None | 95.0 | 89.0 | 86.0 | 1102 | 2018 | MAÑANA | 1 | 0 |
| None | 94.0 | 91.0 | 85.7 | 1102 | 2018 | MAÑANA | 2 | 0 |
| None | 90.0 | 76.0 | 76.3 | 1101 | 2018 | MAÑANA | 2 | 0 |
| 78.0 | 78.0 | 70.0 | 79.3333 | 1102 | 2017 | MAÑANA | 2 | 0 |
| None | 81.0 | 67.0 | 68.3 | 1103 | 2018 | MAÑANA | 2 | 0 |
| None | 77.0 | 61.0 | 63.0 | 1101 | 2018 | MAÑANA | 1 | 0 |
| 75.0 | 83.0 | 88.0 | 82.6667 | 1102 | 2017 | MAÑANA | 2 | 0 |
| None | 74.0 | 65.0 | 67.0 | 1103 | 2018 | MAÑANA | 2 | 0 |
| predicted_students |
|---|
| 0.0009294988663506015 |
| 5.207409790988904e-06 |
| 1.0700581786827589e-05 |
| 1.2181687810479954e-05 |
| 0.0007071225793659439 |
| 0.00019074910389449252 |
| 0.021954000437429597 |
| 0.18148031696891703 |
| 4.518036043937327e-05 |
| 0.03787525361984694 |
students_reviews = students[students['S']== 'F']
students_reviews
| ESTUDIANTE | R | S | CURSO | AÑO | ECONOMIA | FÍSICA | QUÍMICA | SOCIALES | EDUCACION ARTISTICA |
|---|---|---|---|---|---|---|---|---|---|
| AGREDO TORRES KAROL MELISA ... |
N | F | 1001 | 2016 | 69.7 | 73 | 60.66666667 | 72.0 | 78.33333333 |
| ALTUZARRA CASTILLO ANGIE KATHERIN ... |
N | F | 1001 | 2017 | 67.3 | 78 | 70.0 | 86.3 | 66.7 |
| ANGARITA BELTRAN PAULA ANDREA ... |
N | F | 1001 | 2017 | 64.7 | 64 | 44.0 | 54.7 | 67.7 |
| AREVALO RODRIGUEZ ASLY NATALY ... |
N | F | 1002 | 2016 | 73.0 | 73 | 83.0 | 73.0 | 83.3 |
| ARIZA MARTINEZ CAMPVERLLY SAMANTHA ... |
N | F | 1001 | 2016 | 68.7 | 68 | 65.33333333 | 72.66666667 | 79.33333333 |
| BALLEN PRECIADO CAMILA ANDREA ... |
N | F | 1001 | 2017 | 59.7 | 64 | 56.0 | 65.3 | 80.0 |
| BARBOSA SANCHEZ YULIETH STEFANNY ... |
N | F | 1003 | 2016 | 68.7 | 73 | 65.0 | 70.0 | 75.3 |
| BAREÑO YALANDA HASVEIDY KATERINE ... |
N | F | 1003 | 2016 | 57.3 | 63 | 60.0 | 60.3 | 62.0 |
| BARRERA GONZALEZ JESSICA TATIANA ... |
N | F | 1003 | 2016 | 79.7 | 79 | 77.0 | 76.3 | 85.0 |
| BARRIOS GARCIA SHELCY VIVIANA ... |
N | F | 1002 | 2016 | 68.3 | 61 | 60.0 | 66.3 | 59.3 |
| RECREACIÓN Y DEPORTES | RELIGION | ETICA | FILOSOFIA | INGLES | LENGUA CASTELLANA | TRIGONOMETRIA |
|---|---|---|---|---|---|---|
| 62.33333333 | 68.33333333 | 74.66666667 | 80.33333333 | 65.66666667 | 71.66666667 | 71.33333333 |
| 69.7 | 93.7 | 83.7 | 80.0 | 77.0 | 88.0 | 76.7 |
| 63.0 | 33.3 | 56.7 | 64.0 | 58.0 | 70.0 | 59.0 |
| 70.0 | 81.0 | 80.0 | 85.7 | 81.0 | 82.0 | 67.0 |
| 71.66666667 | 69.33333333 | 73.66666667 | 62.33333333 | 60.0 | 74.0 | 65.33333333 |
| 60.7 | 62.7 | 67.7 | 83.3 | 70.0 | 68.0 | 62.7 |
| 73.3 | 80.0 | 78.7 | 85.3 | 69.0 | 82.0 | 74.0 |
| 62.3 | 65.7 | 74.0 | 60.7 | 61.0 | 60.0 | 56.3 |
| 84.0 | 85.3 | 79.3 | 89.3 | 72.0 | 93.0 | 81.3 |
| 60.0 | 68.0 | 72.7 | 78.0 | 68.0 | 62.0 | 53.7 |
| ADMINISTRACION | MANEJO ORDENADORES | PREPARACIÓN TECNOLÓGICA | CALCULO | C11 | A11 | JORNADA | ESTRATO | logic_math |
|---|---|---|---|---|---|---|---|---|
| 78.0 | 79.0 | 70.33333333 | 75.6667 | 1101 | 2017 | MAÑANA | 2 | 0 |
| None | 90.0 | 76.0 | 76.3 | 1101 | 2018 | MAÑANA | 2 | 0 |
| None | 77.0 | 61.0 | 63.0 | 1101 | 2018 | MAÑANA | 1 | 0 |
| 75.0 | 83.0 | 88.0 | 82.6667 | 1102 | 2017 | MAÑANA | 2 | 0 |
| 62.33333333 | 85.66666667 | 68.66666667 | 69.3333 | 1101 | 2017 | MAÑANA | 2 | 0 |
| None | 81.0 | 77.0 | 76.3 | 1103 | 2018 | MAÑANA | 2 | 0 |
| 74.0 | 87.0 | 77.0 | 79.0 | 1103 | 2017 | MAÑANA | 3 | 0 |
| 58.0 | 69.0 | 65.0 | 62.0 | 1103 | 2017 | MAÑANA | 2 | 0 |
| 78.0 | 91.0 | 93.0 | 86.3333 | 1103 | 2017 | MAÑANA | 2 | 0 |
| 58.0 | 73.0 | 66.0 | 61.3333 | 1101 | 2017 | MAÑANA | 3 | 0 |
| predicted_students |
|---|
| 0.0009294988663506015 |
| 0.0007071225793659439 |
| 0.18148031696891703 |
| 4.518036043937327e-05 |
| 0.014159329212896758 |
| 0.0007071225793659439 |
| 0.00022029252997992968 |
| 0.25460019669234774 |
| 9.26526652268426e-06 |
| 0.3130004071722924 |
students_reviews = students_reviews.sort('predicted_students', ascending=False)
students_reviews['predicted_students']
dtype: float Rows: 127 [0.904920040373383, 0.904920040373383, 0.904920040373383, 0.904920040373383, 0.904920040373383, 0.904920040373383, 0.904920040373383, 0.904920040373383, 0.904920040373383, 0.904920040373383, 0.904920040373383, 0.904920040373383, 0.904920040373383, 0.904920040373383, 0.904920040373383, 0.904920040373383, 0.904920040373383, 0.904920040373383, 0.904920040373383, 0.904920040373383, 0.904920040373383, 0.904920040373383, 0.904920040373383, 0.904920040373383, 0.904920040373383, 0.904920040373383, 0.904920040373383, 0.904920040373383, 0.6579719722539445, 0.555309151600646, 0.555309151600646, 0.555309151600646, 0.4476974541278717, 0.37799307185045816, 0.3161029420614644, 0.3130004071722924, 0.25460019669234774, 0.22824400339125306, 0.20386296122907488, 0.20386296122907488, 0.18148031696891703, 0.18148031696891703, 0.18148031696891703, 0.1407787402074131, 0.12581557506243843, 0.12581557506243843, 0.09738962666044967, 0.09613200686352698, 0.04348754503087077, 0.03787525361984694, 0.033424076737770675, 0.033424076737770675, 0.033424076737770675, 0.033424076737770675, 0.033424076737770675, 0.032962297414806274, 0.028268458251096328, 0.028268458251096328, 0.028268458251096328, 0.024917052469684457, 0.024917052469684457, 0.024917052469684457, 0.021954000437429597, 0.021954000437429597, 0.021954000437429597, 0.018533701127187323, 0.018533701127187323, 0.016317033203783967, 0.014159329212896758, 0.014159329212896758, 0.012282864820375829, 0.010652847132509309, 0.010652847132509309, 0.010652847132509309, 0.010652847132509309, 0.009237120642999315, 0.009237120642999315, 0.009237120642999315, 0.007894173106345907, 0.006941014835096334, 0.006015578627988955, 0.005212657809803537, 0.00513856885519102, 0.00513856885519102, 0.004516613047989859, 0.004516613047989859, 0.004516613047989859, 0.004516613047989859, 0.0039131453476086075, 0.002936517674931979, 0.002543628136603734, 0.002543628136603734, 0.0022030938592485414, 0.0019081445059617908, 0.0019081445059617908, 0.001676529937619111, 0.001676529937619111, 0.001652617455790608, 0.0014311981987690182, 0.0012394615676627003, ... ]
students_reviews['predicted_students'].tail()
dtype: float Rows: 10 [0.0001430093000933575, 4.518036043937327e-05, 1.2358244076025793e-05, 1.0700581786827589e-05, 9.26526652268426e-06, 5.207409790988904e-06, 4.508914096159402e-06, 8.005663555127518e-07, 6.001757719799423e-07, 5.196708987177571e-07]
# Estudiante con mas probabilidades de Perder Calculo
students_reviews[0]
{'ESTUDIANTE': 'SOLARTE QUIÑONES LEYDY MARCELA',
'R': 'N',
'S': 'F',
'CURSO': 1001,
'AÑO': 2016,
'ECONOMIA': 62.7,
'FÍSICA': 60,
'QUÍMICA': 55.33333333,
'SOCIALES': 61.66666667,
'EDUCACION ARTISTICA': 62.0,
'RECREACIÓN Y DEPORTES': 61.66666667,
'RELIGION': 60.0,
'ETICA': 65.0,
'FILOSOFIA': 60.66666667,
'INGLES': 65.66666667,
'LENGUA CASTELLANA': 54.33333333,
'TRIGONOMETRIA': 46.33333333,
'ADMINISTRACION': 62.66666667,
'MANEJO ORDENADORES': 75.33333333,
'PREPARACIÓN TECNOLÓGICA': 75.0,
'CALCULO': 54.3,
'C11': 1102,
'A11': 2018,
'JORNADA': 'MAÑANA',
'ESTRATO': 2,
'logic_math': 1,
'predicted_students': 0.904920040373383}